/**
 * @file 1config-temporary-object.cpp
 * @author Kun (kun_g@msn.com)
 * @brief 仿函数测试
 * @version 0.1
 * @date 2024-05-14
 *
 * @copyright Copyright (c) 2024
 *
 */
#include <algorithm>
#include <iostream>
#include <vector>

using namespace std;

// XXX: 仿函数的使用
template <typename T> class print {
public:
  /**
   * @brief ()运算符重载
   *
   * @param elem
   */
  void operator()(const T &elem) { cout << elem << " "; }
};

int main() {
  int ia[6] = {0, 1, 2, 3, 4, 5};
  vector<int> iv(ia, ia + 6);

  for_each(iv.begin(), iv.end(), print<int>());
}